package com.mega32k.mevila.util;

import net.minecraft.item.IItemTier;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.LazyValue;

import java.util.function.Supplier;

public enum MevilaTier implements IItemTier {
    MEVILA_TIER(5, 1581, 10.5F, 4.5F, 12, () -> {
        return Ingredient.fromItems(ItemInit.MEVILA_METAL_REGISTRY_OBJECT.get());
    });

    private final int harvestLevel;
    private final int maxUses;
    private final float efficiency;
    private final float attackDamage;
    private final int enchantability;
    private final LazyValue<Ingredient> repairMaterial;

    private MevilaTier(int p_i48458_3_, int p_i48458_4_, float p_i48458_5_, float p_i48458_6_, int p_i48458_7_, Supplier<Ingredient> p_i48458_8_) {
        this.harvestLevel = p_i48458_3_;
        this.maxUses = p_i48458_4_;
        this.efficiency = p_i48458_5_;
        this.attackDamage = p_i48458_6_;
        this.enchantability = p_i48458_7_;
        this.repairMaterial = new LazyValue(p_i48458_8_);
    }

    public int getMaxUses() {
        return this.maxUses;
    }

    public float getEfficiency() {
        return this.efficiency;
    }

    public float getAttackDamage() {
        return this.attackDamage;
    }

    public int getHarvestLevel() {
        return this.harvestLevel;
    }

    public int getEnchantability() {
        return this.enchantability;
    }

    public Ingredient getRepairMaterial() {
        return (Ingredient)this.repairMaterial.getValue();
    }
}
